package com.ym.medical.domain.entity;

import com.ym.common.constant.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 优惠劵对象 coupon
 *
 * @author ym
 * @date 2020-09-15
 */
@ApiModel("优惠劵-实体")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "coupon")
public class CouponEntity extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /**
     * 优惠劵名称
     */
    @ApiModelProperty("优惠劵名称")
    private String couponName;

    /**
     * 01满减券02折扣券03兑换券
     */
    @ApiModelProperty("01满减券02折扣券03兑换券")
    private String theType;

    /**
     * 折扣比例
     */
    @ApiModelProperty("折扣比例")
    private BigDecimal discount;

    /**
     * 0表示无门槛
     */
    @ApiModelProperty("0表示无门槛")
    private BigDecimal fullLimit;

    /**
     * 满额减扣金额
     */
    @ApiModelProperty("满额减扣金额")
    private BigDecimal fullMoney;

    /**
     * 折扣上限金额，0表示无上限
     */
    @ApiModelProperty("折扣上限金额，0表示无上限")
    private BigDecimal discountMoney;

    /**
     * 01图文问诊02电话问诊03视频问诊
     */
    @ApiModelProperty("01图文问诊02电话问诊03视频问诊")
    private String toSb;

    /**
     * 01固定时间02领取x天失效
     */
    @ApiModelProperty("01固定时间02领取x天失效")
    private String validModel;

    /**
     * 有效开始时间
     */
    @ApiModelProperty("有效开始时间")
    private Date startTime;

    /**
     * 有效结束时间
     */
    @ApiModelProperty("有效结束时间")
    private Date endTime;

    /**
     * 有效天数，0表示无限
     */
    @ApiModelProperty("有效天数，0表示无限")
    private Integer validDay;

    /**
     * 发放数量限制,0表示无限制
     */
    @ApiModelProperty("发放数量限制,0表示无限制")
    private Integer numLimit;

    /**
     * 发放递减字段
     */
    @ApiModelProperty("发放递减字段")
    private Integer decNumLimit;

    /**
     * 系统优惠劵00否01是
     */
    @ApiModelProperty("系统优惠劵00否01是")
    private String isSys;

    /**
     * 发布状态(01-待发布；02-已发布)
     */
    @ApiModelProperty("发布状态(01-待发布；02-已发布)")
    private String pubState;

    /**
     * 购买方式(金币)
     */
    @ApiModelProperty("购买方式(金币)")
    private Double buyGold;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private Long createPerson;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 购买方式(现金)
     */
    @ApiModelProperty("购买方式(现金)")
    private Double buyCash;

}
